package com.rv.admin.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.rv.admin.domain.Room;
import com.rv.admin.domain.User;
import com.rv.common.core.domain.R;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

public interface IRoomService extends IService<Room> {


    /**
     * 获取公开房间列表
     * @return 房间列表
     */
    R<Page<Room>> queryPublicRoomList(Page<Room> page, Room room);


    /**
     * 获取用户创建的房间列表
     * @return 房间列表
     */
    R<Page<Room>> queryOwnerRoomList(Page<Room> page, Room room);

    /**
     * 创建房间
     * @param room 房间信息
     * @return 房间id
     */
    R<Long> createRoom(Room room);


    /**
     * 获取房间信息
     * @param id 房间id
     * @return 房间信息
     */
    R<Room> queryRoomById(Long id);



    /**
     * 解散房间
     * @param roomId 房间id
     */
    R<Boolean> dismissRoom(Long roomId);


    /**
     * 编辑房间
     * @param room 房间信息
     * @return 操作结果
     */
    R<Boolean> editRoom(Room room);


    /**
     * 校验房间密码
     * @param room 房间信息
     * @return 校验结果
     */
    R<Boolean> verifyPassword(Room room);

}
